﻿//柱状图
function getBarOption(title, legendList, nameList, dataList, useDataZoom, showDataValue, maxMinAndAverage) {
    var series = new Array();
    for (var i = 0; i < legendList.length; i++) {
        var j = i % 3;
        var color = "";
        if (j == 0) {
            color = "blue";
        } else if (j == 1) {
            color = "green";
        } else {
            color = "red";
        }
        var obj = {
            name: legendList[i],
            type: 'bar',
            data: dataList[i],
            itemStyle: {
                normal: {
                    color: color,
                    label: {
                        show: showDataValue,
                        position: 'top'
                    }
                }
            }
        }
        series.push(obj);
    }

    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {            // 坐标轴指示器，坐标轴触发有效
                type: 'shadow'        // 默认为直线，可选为：'line' | 'shadow'
            },
            formatter: function (obj) {
                var length = obj.length;
                var name = obj[0].name;
                var returnStr = name;

                for (var i = 0; i < length; i++) {
                    var seriesName = obj[i].seriesName;
                    var data = obj[i].value;
                    if (seriesName.indexOf("率") >= 0 || seriesName.indexOf("百分比") >= 0) {
                        returnStr = returnStr + "<br/>" + seriesName + "：" + data + "%";
                    } else {
                        returnStr = returnStr + "<br/>" + seriesName + "：" + data;
                    }
                }
                return returnStr;
            }
        },
        legend: {
            data: legendList
        },
        //toolbox: {
        //    show: true,
        //    feature: {
        //        mark: { show: true },
        //        dataView: { show: true, readOnly: false },
        //        magicType: { show: true, type: ['line', 'bar'] },
        //        restore: { show: true },
        //        saveAsImage: { show: true }
        //    }
        //},
        calculable: false,
        xAxis: [
            {
                type: 'category',
                data: nameList
            }
        ],
        yAxis: [
            {
                type: 'value'
            }
        ],
        series: series
    };

    if (useDataZoom) {
        option.dataZoom = {
            show: true,
            start: 80,
            end: 100
        }
    }

    if (maxMinAndAverage) {
        option.series.markPoint =
            {
                data: [
                    { type: 'max', name: '最大值' },
                    { type: 'min', name: '最小值' }
                ]
            }

        option.series.markLine =
            {
                data: [
                    { type: 'average', name: '平均值' }
                ]
            }
    }

    return option;
}

//线状图
function getLineOption(title, legendList, nameList, dataList, useDataZoom, showDataValue, maxMinAndAverage) {
    var series = new Array();
    for (var i = 0; i < legendList.length; i++) {
        var j = i % 3;
        var color = "";
        if (j == 0) {
            color = "blue";
        } else if (j == 1) {
            color = "green";
        } else {
            color = "red";
        }
        var obj = {
            name: legendList[i],
            type: 'line',
            data: dataList[i],
            itemStyle: {
                normal: {
                    color: color,
                    label: {
                        show: showDataValue,
                        position: 'top'
                    }
                }
            }
        }
        series.push(obj);
    }

    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'axis'
        },
        legend: {
            data: legendList
        },
        //toolbox: {
        //    show: true,
        //    feature: {
        //        mark: { show: true },
        //        dataView: { show: true, readOnly: false },
        //        magicType: { show: true, type: ['line', 'bar'] },
        //        restore: { show: true },
        //        saveAsImage: { show: true }
        //    }
        //},
        calculable: false,
        xAxis: [
            {
                type: 'category',
                boundaryGap: false,
                data: nameList
            }
        ],
        yAxis: [
            {
                type: 'value'
            }
        ],
        series: series
    };

    if (useDataZoom) {
        option.dataZoom = {
            show: true,
            start: 80,
            end: 100
        }
    }

    if (maxMinAndAverage) {
        option.series.markPoint =
            {
                data: [
                    { type: 'max', name: '最大值' },
                    { type: 'min', name: '最小值' }
                ]
            }

        option.series.markLine =
            {
                data: [
                    { type: 'average', name: '平均值' }
                ]
            }
    }

    return option;
}

//柱状图与线图结合（销量与增长率）
function getBarAndLineOption(title, legendList, nameList, dataList, showDataValue, useDataZoom) {
    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {            // 坐标轴指示器，坐标轴触发有效
                type: 'shadow'        // 默认为直线，可选为：'line' | 'shadow'
            },
            formatter: function (obj) {
                var length = obj.length;
                var name = obj[0].name;
                var returnStr = name;

                for (var i = 0; i < length; i++) {
                    var seriesName = obj[i].seriesName;
                    var data = obj[i].value;
                    if (seriesName.indexOf("率") >= 0 || seriesName.indexOf("百分比") >= 0) {
                        returnStr = returnStr + "<br/>" + seriesName + "：" + data + "%";
                    } else {
                        returnStr = returnStr + "<br/>" + seriesName + "：" + data;
                    }
                }
                return returnStr;
            }
        },
        legend: {
            data: legendList
        },
        //toolbox: {
        //    'show': true,
        //    orient: 'vertical',
        //    x: 'right',
        //    y: 'center',
        //    'feature': {
        //        'mark': { 'show': true },
        //        'dataView': { 'show': true, 'readOnly': false },
        //        'magicType': { 'show': true, 'type': ['line', 'bar', 'stack', 'tiled'] },
        //        'restore': { 'show': true },
        //        'saveAsImage': { 'show': true }
        //    }
        //},
        calculable: false,
        xAxis: [
            {
                type: 'category',
                data: nameList
            },
            {
                type: 'category',
                data: nameList,
                show: false
            }
        ],
        yAxis: [
            {
                type: 'value',
                name: legendList[1],
                axisLabel: {
                    formatter: '{value}%'
                }
            },
            {
                type: 'value',
                name: legendList[0]

            }
        ],
        series: [
            {
                name: legendList[0],
                type: 'bar',
                yAxisIndex: 1,
                data: dataList[0],
                itemStyle: {
                    normal: {
                        color: "blue",
                        label: {
                            show: showDataValue,
                            position: 'top'
                        }
                    }
                }
            },
            {
                name: legendList[1],
                type: 'line',
                data: dataList[1],
                itemStyle: {
                    normal: {
                        color: "red",
                        label: {
                            show: showDataValue,
                            position: 'top',
                            formatter: function (obj) {
                                return obj.value + "%";
                            }
                        }
                    }
                }
            }
        ]
    };

    if (useDataZoom) {
        option.dataZoom = {
            show: true,
            start: 80,
            end: 100
        }
    }

    return option;
}


function getBarLineBarOption(title, legendList, nameList, dataList, showDataValue, useDataZoom) {
    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {            // 坐标轴指示器，坐标轴触发有效
                type: 'shadow'        // 默认为直线，可选为：'line' | 'shadow'
            },
            formatter: function (obj) {
                var length = obj.length;
                var name = obj[0].name;
                var returnStr = name;

                for (var i = 0; i < length; i++) {
                    var seriesName = obj[i].seriesName;
                    var data = obj[i].value;
                    if (seriesName.indexOf("率") >= 0 || seriesName.indexOf("百分比") >= 0) {
                        returnStr = returnStr + "<br/>" + seriesName + "：" + data + "%";
                    } else {
                        returnStr = returnStr + "<br/>" + seriesName + "：" + data;
                    }
                }
                return returnStr;
            }
        },
        legend: {
            data: legendList
        },
        //toolbox: {
        //    'show': true,
        //    orient: 'vertical',
        //    x: 'right',
        //    y: 'center',
        //    'feature': {
        //        'mark': { 'show': true },
        //        'dataView': { 'show': true, 'readOnly': false },
        //        'magicType': { 'show': true, 'type': ['line', 'bar', 'stack', 'tiled'] },
        //        'restore': { 'show': true },
        //        'saveAsImage': { 'show': true }
        //    }
        //},
        calculable: false,
        xAxis: [
            {
                type: 'category',
                data: nameList
            },
            {
                type: 'category',
                data: nameList,
                show: false
            }
        ],
        yAxis: [
            {
                type: 'value',
                name: legendList[2],
                axisLabel: {
                    formatter: '{value}%'
                }
            },
            {
                type: 'value',
                name: legendList[0]
            }
        ],
        series: [
            {
                name: legendList[0],
                type: 'bar',
                yAxisIndex: 1,
                data: dataList[0],
                itemStyle: {
                    normal: {
                        color: "blue",
                        label: {
                            show: showDataValue,
                            position: 'top'
                        }
                    }
                }
            },
            {
                name: legendList[1],
                type: 'line',
                data: dataList[1],
                itemStyle: {
                    normal: {
                        color: "red",
                        label: {
                            show: showDataValue,
                            position: 'top',
                            formatter: function (obj) {
                                return obj.value + "%";
                            }
                        }
                    }
                }
            },
            {
                name: legendList[2],
                type: 'bar',
                yAxisIndex: 1,
                data: dataList[2],
                itemStyle: {
                    normal: {
                        color: "green",
                        label: {
                            show: showDataValue,
                            position: 'top'
                        }
                    }
                }
            }
        ]
    };

    if (useDataZoom) {
        option.dataZoom = {
            show: true,
            start: 80,
            end: 100
        }
    }

    return option;
}





//饼状图
function getPieOption(title, seriesName, legendList, dataList) {
    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'item',
            formatter: "{a} <br/>{b} : {c} ({d}%)"
        },
        legend: {
            orient: 'vertical',
            x: 'left',
            data: legendList
        },
        toolbox: {
            show: true,
            feature: {
                mark: { show: true },
                dataView: { show: true, readOnly: false },
                magicType: {
                    show: true,
                    type: ['pie', 'funnel'],
                    option: {
                        funnel: {
                            x: '25%',
                            width: '50%',
                            funnelAlign: 'left',
                            max: 1548
                        }
                    }
                },
                restore: { show: true },
                saveAsImage: { show: true }
            }
        },
        calculable: false,
        series: [
            {
                name: seriesName,
                type: 'pie',
                radius: '55%',
                center: ['50%', '60%'],
                data: dataList[0]
            }
        ]
    };

    return option;
}

//内外饼状图
function getDoublePieOption(title, seriesNameList, legendList, dataList) {
    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'item',
            formatter: "{a} <br/>{b} : {c} ({d}%)"
        },
        legend: {
            orient: 'vertical',
            x: 'left',
            data: legendList
        },
        toolbox: {
            show: true,
            feature: {
                mark: { show: true },
                dataView: { show: true, readOnly: false },
                magicType: {
                    show: true,
                    type: ['pie', 'funnel']
                },
                restore: { show: true },
                saveAsImage: { show: true }
            }
        },
        calculable: false,
        series: [
            {
                name: seriesNameList[0],
                type: 'pie',
                selectedMode: 'single',
                radius: [0, 70],

                // for funnel
                x: '20%',
                width: '40%',
                funnelAlign: 'right',
                max: 1548,

                itemStyle: {
                    normal: {
                        label: {
                            position: 'inner'
                        },
                        labelLine: {
                            show: false
                        }
                    }
                },
                data: dataList[0]
            },
            {
                name: seriesNameList[1],
                type: 'pie',
                radius: [100, 140],

                // for funnel
                x: '60%',
                width: '35%',
                funnelAlign: 'left',
                max: 1048,

                data: dataList[1]
            }
        ]
    };

    return option;
}


//散点图
function getScatterOption(title, legendList, dataList, useDataZoom, maxMinAndAverage) {
    var series = new Array();
    for (var i = 0; i < legendList.length; i++) {
        var obj = {
            name: legendList[i],
            type: 'scatter',
            data: dataList[i]
        }
        series.push(obj);
    }

    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'axis'
        },
        legend: {
            data: legendList
        },
        toolbox: {
            'show': true,
            orient: 'vertical',
            x: 'right',
            y: 'center',
            'feature': {
                'mark': { 'show': true },
                'dataView': { 'show': true, 'readOnly': false },
                'restore': { 'show': true },
                'saveAsImage': { 'show': true }
            }
        },
        xAxis: [
            {
                type: 'value',
                name: '销售额',
                scale: true
            }
        ],
        yAxis: [
            {
                type: 'value',
                name: '利润',
                scale: true
            }
        ],
        series: series
    };

    if (useDataZoom) {
        option.dataZoom = {
            show: true,
            start: 0,
            end: 100
        }
    }

    if (maxMinAndAverage) {
        option.series.markPoint =
            {
                data: [
                    { type: 'max', name: '最大值' },
                    { type: 'min', name: '最小值' }
                ]
            }

        option.series.markLine =
            {
                data: [
                    { type: 'average', name: '平均值' }
                ]
            }
    }

    return option;
}

//雷达图
function getRadarOption(title, seriesName, legendList, dataList, indicatorList) {
    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'axis'
        },
        legend: {
            orient: 'vertical',
            x: 'right',
            y: 'bottom',
            data: legendList
        },
        toolbox: {
            show: true,
            feature: {
                mark: { show: true },
                dataView: { show: true, readOnly: false },
                restore: { show: true },
                saveAsImage: { show: true }
            }
        },
        polar: [
            {
                indicator: indicatorList
            }
        ],
        calculable: false,
        series: [
            {
                name: seriesName,
                type: 'radar',
                data: dataList
            }
        ]
    };

    return option;
}

//省市区联动地图
function getNationAndProvinceAndCityMapOption(title, mapType, min, max, legendList, dataList) {

    var series = new Array();
    for (var i = 0; i < legendList.length; i++) {
        var obj = {
            name: legendList[i],
            type: 'map',
            mapType: mapType,
            mapLocation: {  //地图显示位置
                x: 'left',
                y: 'top',
                width: '35%'
            },
            selectedMode: 'single',  //地图选择模式 单选singel 多选multiple
            roam: false,   //地图缩放组件
            itemStyle: {
                normal: {
                    label: {
                        show: true,
                        textStyle: {
                            color: "rgb(249, 249, 249)"
                        }
                    }
                },
                emphasis: { label: { show: true } }
            },
            data: dataList[i]
        }

        series.push(obj);
    }

    var option = {
        title: {
            text: title,
            x: 'center'
        },
        tooltip: {
            trigger: 'item'
        },
        legend: {
            orient: 'vertical',
            x: 'left',
            data: legendList
        },
        dataRange: {
            min: min,
            max: max,
            x: 'left',
            y: 'bottom',
            text: ['高', '低'],           // 文本，默认为数值文本
            calculable: false
        },
        toolbox: {
            show: true,
            orient: 'vertical',
            x: 'right',
            y: 'center',
            feature: {
                mark: { show: true },
                dataView: { show: true, readOnly: false },
                restore: { show: true },
                saveAsImage: { show: true }
            }
        },
        /*  roamController: { //地图缩放组件
              show: true,
              x: 'right',
              mapTypeControl: {
                  'china': true
              }
          },*/
        series: series
    };

    return option;
}

var cityMap = {
    "北京市": "110100",
    "天津市": "120100",
    "上海市": "310100",
    "重庆市": "500100",

    "崇明县": "310200",
    "湖北省直辖县市": "429000",
    "铜仁市": "522200",
    "毕节市": "522400",

    "石家庄市": "130100",
    "唐山市": "130200",
    "秦皇岛市": "130300",
    "邯郸市": "130400",
    "邢台市": "130500",
    "保定市": "130600",
    "张家口市": "130700",
    "承德市": "130800",
    "沧州市": "130900",
    "廊坊市": "131000",
    "衡水市": "131100",
    "太原市": "140100",
    "大同市": "140200",
    "阳泉市": "140300",
    "长治市": "140400",
    "晋城市": "140500",
    "朔州市": "140600",
    "晋中市": "140700",
    "运城市": "140800",
    "忻州市": "140900",
    "临汾市": "141000",
    "吕梁市": "141100",
    "呼和浩特市": "150100",
    "包头市": "150200",
    "乌海市": "150300",
    "赤峰市": "150400",
    "通辽市": "150500",
    "鄂尔多斯市": "150600",
    "呼伦贝尔市": "150700",
    "巴彦淖尔市": "150800",
    "乌兰察布市": "150900",
    "兴安盟": "152200",
    "锡林郭勒盟": "152500",
    "阿拉善盟": "152900",
    "沈阳市": "210100",
    "大连市": "210200",
    "鞍山市": "210300",
    "抚顺市": "210400",
    "本溪市": "210500",
    "丹东市": "210600",
    "锦州市": "210700",
    "营口市": "210800",
    "阜新市": "210900",
    "辽阳市": "211000",
    "盘锦市": "211100",
    "铁岭市": "211200",
    "朝阳市": "211300",
    "葫芦岛市": "211400",
    "长春市": "220100",
    "吉林市": "220200",
    "四平市": "220300",
    "辽源市": "220400",
    "通化市": "220500",
    "白山市": "220600",
    "松原市": "220700",
    "白城市": "220800",
    "延边朝鲜族自治州": "222400",
    "哈尔滨市": "230100",
    "齐齐哈尔市": "230200",
    "鸡西市": "230300",
    "鹤岗市": "230400",
    "双鸭山市": "230500",
    "大庆市": "230600",
    "伊春市": "230700",
    "佳木斯市": "230800",
    "七台河市": "230900",
    "牡丹江市": "231000",
    "黑河市": "231100",
    "绥化市": "231200",
    "大兴安岭地区": "232700",
    "南京市": "320100",
    "无锡市": "320200",
    "徐州市": "320300",
    "常州市": "320400",
    "苏州市": "320500",
    "南通市": "320600",
    "连云港市": "320700",
    "淮安市": "320800",
    "盐城市": "320900",
    "扬州市": "321000",
    "镇江市": "321100",
    "泰州市": "321200",
    "宿迁市": "321300",
    "杭州市": "330100",
    "宁波市": "330200",
    "温州市": "330300",
    "嘉兴市": "330400",
    "湖州市": "330500",
    "绍兴市": "330600",
    "金华市": "330700",
    "衢州市": "330800",
    "舟山市": "330900",
    "台州市": "331000",
    "丽水市": "331100",
    "合肥市": "340100",
    "芜湖市": "340200",
    "蚌埠市": "340300",
    "淮南市": "340400",
    "马鞍山市": "340500",
    "淮北市": "340600",
    "铜陵市": "340700",
    "安庆市": "340800",
    "黄山市": "341000",
    "滁州市": "341100",
    "阜阳市": "341200",
    "宿州市": "341300",
    "六安市": "341500",
    "亳州市": "341600",
    "池州市": "341700",
    "宣城市": "341800",
    "福州市": "350100",
    "厦门市": "350200",
    "莆田市": "350300",
    "三明市": "350400",
    "泉州市": "350500",
    "漳州市": "350600",
    "南平市": "350700",
    "龙岩市": "350800",
    "宁德市": "350900",
    "南昌市": "360100",
    "景德镇市": "360200",
    "萍乡市": "360300",
    "九江市": "360400",
    "新余市": "360500",
    "鹰潭市": "360600",
    "赣州市": "360700",
    "吉安市": "360800",
    "宜春市": "360900",
    "抚州市": "361000",
    "上饶市": "361100",
    "济南市": "370100",
    "青岛市": "370200",
    "淄博市": "370300",
    "枣庄市": "370400",
    "东营市": "370500",
    "烟台市": "370600",
    "潍坊市": "370700",
    "济宁市": "370800",
    "泰安市": "370900",
    "威海市": "371000",
    "日照市": "371100",
    "莱芜市": "371200",
    "临沂市": "371300",
    "德州市": "371400",
    "聊城市": "371500",
    "滨州市": "371600",
    "菏泽市": "371700",
    "郑州市": "410100",
    "开封市": "410200",
    "洛阳市": "410300",
    "平顶山市": "410400",
    "安阳市": "410500",
    "鹤壁市": "410600",
    "新乡市": "410700",
    "焦作市": "410800",
    "濮阳市": "410900",
    "许昌市": "411000",
    "漯河市": "411100",
    "三门峡市": "411200",
    "南阳市": "411300",
    "商丘市": "411400",
    "信阳市": "411500",
    "周口市": "411600",
    "驻马店市": "411700",
    "省直辖县级行政区划": "469000",
    "武汉市": "420100",
    "黄石市": "420200",
    "十堰市": "420300",
    "宜昌市": "420500",
    "襄阳市": "420600",
    "鄂州市": "420700",
    "荆门市": "420800",
    "孝感市": "420900",
    "荆州市": "421000",
    "黄冈市": "421100",
    "咸宁市": "421200",
    "随州市": "421300",
    "恩施土家族苗族自治州": "422800",
    "长沙市": "430100",
    "株洲市": "430200",
    "湘潭市": "430300",
    "衡阳市": "430400",
    "邵阳市": "430500",
    "岳阳市": "430600",
    "常德市": "430700",
    "张家界市": "430800",
    "益阳市": "430900",
    "郴州市": "431000",
    "永州市": "431100",
    "怀化市": "431200",
    "娄底市": "431300",
    "湘西土家族苗族自治州": "433100",
    "广州市": "440100",
    "韶关市": "440200",
    "深圳市": "440300",
    "珠海市": "440400",
    "汕头市": "440500",
    "佛山市": "440600",
    "江门市": "440700",
    "湛江市": "440800",
    "茂名市": "440900",
    "肇庆市": "441200",
    "惠州市": "441300",
    "梅州市": "441400",
    "汕尾市": "441500",
    "河源市": "441600",
    "阳江市": "441700",
    "清远市": "441800",
    "东莞市": "441900",
    "中山市": "442000",
    "潮州市": "445100",
    "揭阳市": "445200",
    "云浮市": "445300",
    "南宁市": "450100",
    "柳州市": "450200",
    "桂林市": "450300",
    "梧州市": "450400",
    "北海市": "450500",
    "防城港市": "450600",
    "钦州市": "450700",
    "贵港市": "450800",
    "玉林市": "450900",
    "百色市": "451000",
    "贺州市": "451100",
    "河池市": "451200",
    "来宾市": "451300",
    "崇左市": "451400",
    "海口市": "460100",
    "三亚市": "460200",
    "三沙市": "460300",
    "成都市": "510100",
    "自贡市": "510300",
    "攀枝花市": "510400",
    "泸州市": "510500",
    "德阳市": "510600",
    "绵阳市": "510700",
    "广元市": "510800",
    "遂宁市": "510900",
    "内江市": "511000",
    "乐山市": "511100",
    "南充市": "511300",
    "眉山市": "511400",
    "宜宾市": "511500",
    "广安市": "511600",
    "达州市": "511700",
    "雅安市": "511800",
    "巴中市": "511900",
    "资阳市": "512000",
    "阿坝藏族羌族自治州": "513200",
    "甘孜藏族自治州": "513300",
    "凉山彝族自治州": "513400",
    "贵阳市": "520100",
    "六盘水市": "520200",
    "遵义市": "520300",
    "安顺市": "520400",
    "黔西南布依族苗族自治州": "522300",
    "黔东南苗族侗族自治州": "522600",
    "黔南布依族苗族自治州": "522700",
    "昆明市": "530100",
    "曲靖市": "530300",
    "玉溪市": "530400",
    "保山市": "530500",
    "昭通市": "530600",
    "丽江市": "530700",
    "普洱市": "530800",
    "临沧市": "530900",
    "楚雄彝族自治州": "532300",
    "红河哈尼族彝族自治州": "532500",
    "文山壮族苗族自治州": "532600",
    "西双版纳傣族自治州": "532800",
    "大理白族自治州": "532900",
    "德宏傣族景颇族自治州": "533100",
    "怒江傈僳族自治州": "533300",
    "迪庆藏族自治州": "533400",
    "拉萨市": "540100",
    "昌都地区": "542100",
    "山南地区": "542200",
    "日喀则地区": "542300",
    "那曲地区": "542400",
    "阿里地区": "542500",
    "林芝地区": "542600",
    "西安市": "610100",
    "铜川市": "610200",
    "宝鸡市": "610300",
    "咸阳市": "610400",
    "渭南市": "610500",
    "延安市": "610600",
    "汉中市": "610700",
    "榆林市": "610800",
    "安康市": "610900",
    "商洛市": "611000",
    "兰州市": "620100",
    "嘉峪关市": "620200",
    "金昌市": "620300",
    "白银市": "620400",
    "天水市": "620500",
    "武威市": "620600",
    "张掖市": "620700",
    "平凉市": "620800",
    "酒泉市": "620900",
    "庆阳市": "621000",
    "定西市": "621100",
    "陇南市": "621200",
    "临夏回族自治州": "622900",
    "甘南藏族自治州": "623000",
    "西宁市": "630100",
    "海东地区": "632100",
    "海北藏族自治州": "632200",
    "黄南藏族自治州": "632300",
    "海南藏族自治州": "632500",
    "果洛藏族自治州": "632600",
    "玉树藏族自治州": "632700",
    "海西蒙古族藏族自治州": "632800",
    "银川市": "640100",
    "石嘴山市": "640200",
    "吴忠市": "640300",
    "固原市": "640400",
    "中卫市": "640500",
    "乌鲁木齐市": "650100",
    "克拉玛依市": "650200",
    "吐鲁番地区": "652100",
    "哈密地区": "652200",
    "昌吉回族自治州": "652300",
    "博尔塔拉蒙古自治州": "652700",
    "巴音郭楞蒙古自治州": "652800",
    "阿克苏地区": "652900",
    "克孜勒苏柯尔克孜自治州": "653000",
    "喀什地区": "653100",
    "和田地区": "653200",
    "伊犁哈萨克自治州": "654000",
    "塔城地区": "654200",
    "阿勒泰地区": "654300",
    "自治区直辖县级行政区划": "659000",
    "台湾省": "710000",
    "香港特别行政区": "810100",
    "澳门特别行政区": "820000"
};
var mapType = [];
var mapGeoData = echarts.util.mapData.params;
for (var city in cityMap) {
    mapType.push(city);
    // 自定义扩展图表类型
    mapGeoData.params[city] = {
        getGeoJson: (function (c) {
            var geoJsonName = cityMap[c];
            return function (callback) {
                $.getJSON('/Content/js/plugs/echarts-2.2.7/geoJson/china-main-city/' + geoJsonName + '.json', callback);
            }
        })(city)
    }
}
//点击地图
function MapSelect(myChart, option, seriesName, plateform) {
    var ecConfig = echarts.config;
    myChart.on(ecConfig.EVENT.MAP_SELECTED, function (param) {
        var selected = param.selected;
        var target = param.target;
        var selectedProvince = "";
        var selectedCity = "";
        var name;
        for (var i = 0, l = option.series[0].data.length; i < l; i++) {
            name = option.series[0].data[i].name;
            if (selected[name]) {
                selectedProvince = name;
            }
        }
        if (option.series.length >= 2) {
            for (var i = 0, l = option.series[1].data.length; i < l; i++) {
                name = option.series[1].data[i].name;
                if (selected[name]) {
                    selectedCity = name;
                }
            }
        }
        if (selectedProvince != "" && selectedProvince == target) {
            var cityDataList;
            $.post("/Analysis/GetCityData", {
                provinceName: selectedProvince,
                plateform: plateform
            }, function (result) {
                cityDataList = result.Body;
                option.series[1] = {
                    name: seriesName,
                    type: 'map',
                    mapType: selectedProvince,
                    itemStyle: {
                        normal: { label: { show: true } },
                        emphasis: { label: { show: true } }
                    },
                    mapLocation: {  //地图显示位置
                        x: '38%',
                        y: 'top',
                        width: '30%'
                    },
                    selectedMode: 'single',
                    roam: false,
                    data: cityDataList
                };
                if (option.series.length == 3) {
                    option.series.pop();
                }

                myChart.setOption(option, true);
            })
        }

        if (selectedCity != "" && target == selectedCity) {
            var areaDataList;
            $.post("/Analysis/GetAreaData", { cityName: selectedCity, plateform: plateform }, function (result) {
                areaDataList = result.Body;
                option.series[2] = {
                    name: seriesName,
                    type: 'map',
                    mapType: selectedCity,
                    itemStyle: {
                        normal: { label: { show: true } },
                        emphasis: { label: { show: true } }
                    },
                    mapLocation: {  //地图显示位置
                        x: '70%',
                        y: 'top',
                        width: '30%'
                    },
                    selectedMode: 'single',
                    roam: true,
                    data: areaDataList
                };
                myChart.setOption(option, true);
            })
        }
    });
}
